#存取款机主要功能
# 1.用户数据
# 2.主界面
# 3.登录
# 4.余额
# 5.取钱
# 6.存钱
# 7.退出登录

#1.创建用户数据
users_data=[
    {'user':'a','pw':'123','money':8888},
    {'user':'b','pw':'123','money':0},
    {'user':'c','pw':'123','money':66},
    {'user':'d','pw':'123','money':686},
]

#定义一个空变量，让ATM机记住当前登录的用户信息
user_list=[]

#2.主界面显示
def show_interface():
    print('*'*33,'ATM操作界面','*'*33)
    print('|{:^36}|{:^36}|'.format('1.登录','2.余额'))
    print('-' * 78)
    print('|{:^36}|{:^36}|'.format('3.存钱', '4.取钱'))
    print('-' * 78)
    print('|{:^74}|'.format('5.退出'))
    print('*' * 78)

#3.登录
def login():
    global user_list
    #输入用户名和密码
    key_u=input('请输入用户名：')
    key_p=input('请输入密码:')
    #通过枚举得到索引序列1
    for i,user_dict in enumerate(users_data):
        #判断输入的用户姓名和密码是否正确
        if user_dict['user']==key_u and user_dict['pw']==key_p:
            #正确，则把索引和user存到user_list中,并提示用户登录成功
            user_list.append(user_dict)
    if user_list != []:
            print('{:^76}'.format('------登陆成功------\n'))
            #若不存在，则询问用户是否重新登录
            #若重新登陆，则再次调用登录函数；否则，提示‘再见’并退出程序
    else:
        print('账号或密码错误！,请重新确认登录名及密码！')
        login()

#4.退出登录
def logout():
    print('再见！')

#5.查询余额
def balace():
    #通过user_list中的索引值就可以查出当前用户的余额信息
    print('您的账户余额为{:^8}元!'.format(user_list[0]['money']))

#6.存钱
def save_money():
    print('请存入整数金额')
    key_sm=int(input('请输入您要存入的金额：'))
    user_list[0]['money']=user_list[0]['money']+key_sm
    print('您已成功存款{:^8}元!'.format(key_sm))

#取钱
def draw_money():
    key_dm=int(input('本柜台机只能取出整数金额，请输入您要取款的金额：'))
    #判断余额是否大于取款金额，并根据结果给出相应提示
    if user_list[0]['money']>=key_dm:
        user_list[0]['money'] -= key_dm
        print('您已成功取款{:^8}元'.format(key_dm))
    else:
        print('余额不足！')
        head()

#总控制函数
def head():
    while True:
        show_interface()
        key=input('请选择序号：')
        if key=='1':
            login()
        elif key=='2':
            #判断登录状态
            if user_list==[]:
                print('您尚未登录，请登录后再进行相关操作！')
            else:
                balace()
        elif key=='3':
            #判断登录状态
            if user_list==[]:
                print('您尚未登录，请登录后再进行相关操作！')
            else:
                save_money()
        elif key=='4':
            if user_list==[]:
                print('您尚未登录，请登录后再进行相关操作！')
            else:
                draw_money()
        elif key=='5':
            logout()
            break
        else:
            print('输入有误，请重新输入')
head()








